#!/bin/bash
SCRIPT_NAME=${0##*/}
displayHelp() {
    cat <<EOF
Archlinux APP install list
Usage: $SCRIPT_NAME -[OPTION]
Pattern selection and interpretation:
-i, --install-app       Install common software
-d, --install-de        Install desktop environment
-a, --install-aur       Install software in AUR
-r, --remove            Remove package
-h. --help              Display help
EOF
}
# 预先要安装的软件
# pacman -S --noconfirm --need sudo wget archlinuxcn-keyring

# 安装图形界面和驱动
DE_packages=(
    # x服务
    xorg-server
    xorg-xinit

    # wayland
    wlroots xorg-xwayland wayland

    # 声卡驱动
    alsa-utils
    pulseaudio-alsa

    # 显卡驱动
    mesa
    xf86-video-vesa
    # xf86-video-ati
    # xf86-video-intel
    # xf86-video-nouveau
    # xf86-video-nv
    # xf86-input-synaptics #笔记本触摸版驱动

    # 桌面坏境
    xfce4
    i3
    sway

    # 字体
    wqy-zenhei
    wqy-microhei
    adobe-source-han-sans-cn-fonts #思源黑体
    noto-fonts
    noto-fonts-emoji
    powerline-fonts

    # 图标包/主题
    adapta-gtk-theme
    numix-circle-icon-theme-git
    numix-icon-theme-git
    # paper-gtk-theme-git
    # gtk-theme-arc-git

    # 主题修改
    lxappearance-gtk3
    qtcurve-gtk2
    qtcurve-qt5
    qtcurve-utils

    # X的渲染合成器
    picom
    xcompmgr

    # 桌面组件
    plank
    pnmixer #音量托盘
    rofi
    thunar
    thunar-archive-plugin
    thunar-media-tags-plugin
    thunar-volman

    # xfce桌面组件
    xfce4-taskmanager
    xfce4-power-manager
    xfce4-notifyd
    xfce4-terminal
    mousepad
    xfburn
    xfce4-artwork
    xfce4-battery-plugin
    xfce4-datetime-plugin
    xfce4-fsguard-plugin
    xfce4-genmon-plugin
    xfce4-linelight-plugin
    xfce4-mailwatch-plugin
    xfce4-mount-plugin
    xfce4-netload-plugin
    xfce4-notes-plugin
    xfce4-notifyd
    xfce4-pulseaudio-plugin
    xfce4-screenshooter
    xfce4-sensors-plugin
    xfce4-systemload-plugin
    xfce4-taskmanager
    xfce4-time-out-plugin
    xfce4-timer-plugin
    xfce4-verve-plugin
    xfce4-wavelan-plugin
    xfce4-whiskermenu-plugin
    xfce4-xkb-plugin
)

APP_packages=(
    # shell
    zsh zsh-completions
    bash-completion

    # 压缩软件
    zip p7zip unzip-natspec unrar unarchiver
    # file-roller

    #AUR helper
    yay
    # paru

    #下载工具
    aria2
    qbittorrent
    # transmission-gtk

    #开发
    git
    nodejs
    npm

    #编辑器
    # code #建议用AUR源的visual-studio-code-bin
    #neovim
    vim
    vim-fcitx
    vim-airline vim-airline-themes powerline
    vim-youcompleteme-git #可能在AUR里

    #播放器
    smplayer mplayer
    # vlc

    #浏览器
    firefox-i18n-zh-cn

    # 输入法fcitx5
    fcitx5 fcitx5-chinese-addons fcitx5-im fcitx5-rime fcitx5-material-color

    # 其它软件
    neofetch
    # screenfetch
    feh    #用来设置壁纸
    mcomix #看图和漫画用的
    # geeqie           #看图用的
    gimp #代替ps
    # inkscape         #画图用的
    # fontforge        #精简字体用的
    # python-fonttools #字体子集化工具
    ffmpeg
    imagemagick #cli图片编辑器
    # gptfdisk #分区
    tree
    # sigil #epub编辑器
    gcolor3 #取色器
    udisks2 #自动装载U盘
    gvfs    #自动挂载
    gvfs-gphoto2
    gvfs-mtp
    numlockx #自动开启键盘的小键盘
    acpid    #启用电源音量控制键

    # 联网工具
    rp-pppoe
    rfkill
    # 支持wifi
    iw wpa_supplicant dialog

    # 联网管理工具
    networkmanager network-manager-applet nm-connection-editor gnome-keyring

    # 科学上网
    v2ray
    v2ray-desktop
    nekoray
    clash-verge clash-meta clash-geoip
    # shadowsocks-qt5 shadowsocks #现在都用v2ray了

    # 其他
    arch-packages-scripts
)

Remove_packages=(
    # 移除xfce4-goodies等不需要的插件
    orage
    xfce4-cpufreq-plugin
    xfce4-cpugraph-plugin
    xfce4-dict
    xfce4-eyes-plugin
    xfce4-diskperf-plugin
    xfce4-weather-plugin
)

AUR_packages=(
    # vim-colors-solarized-git
    oh-my-zsh-git           #在AUR里
    qt5-styleplugins        #qt5主题修改
    arch-silence-grub-theme #grub主题
    visual-studio-code-bin  #vscode官方版
    xpadneo-dkms            #xbox手柄驱动
    google-chrome
    # netease-cloud-music     #网易云音乐
    # epubcheck

    # 无法使用
    # fcitx-sogoupinyin #fcitx4版本，因依赖问题已无法安装使用
)

case "$1" in
'-i' | 'install-app') pacman -Syu --needed "${APP_packages[@]}" ;;
'-d' | 'install-de') pacman -Syu --needed "${DE_packages[@]}" --ignore "${Remove_packages[@]}" ;;
'-a' | 'install-aur') yaourt -S --noconfirm --needed "${AUR_packages[@]}" ;; #xfce4_panel_alpha ;;
'-r' | 'remove') pacman -Rs "${Remove_packages[@]}" ;;
'-h' | '--help' | *) displayHelp ;;
esac
